A. Technical Field
The present invention relates generally to network switching fabric architectures, and more particularly, to a scalable multi-hop mesh switching fabric.
B. Background of the Invention
As used throughout this description and the drawings, the following terms have the following meanings unless otherwise stated:
Single-Hop—Traffic which crosses a single link or path from a source node to a destination node.
Two-Hop—Traffic which crosses two links or paths from a source node to a destination node, passing through one intermediate node.
N-Hop—Traffic which crosses any number of N links or paths from a source node to a destination node, passing through N−1 intermediate nodes.
Two-Hop Mesh Fabric—A mesh fabric that allows both, single-hop and two-hop paths from a source node to a destination node.
Three-Hop Mesh Fabric—A mesh fabric that allows single-hop, two-hop, and three-hop paths from a source node to a destination node.
K-Hop Mesh Fabric—A mesh fabric that allows, inclusively, single-hop, two-hop, . . . , and K-Hop paths, inclusively, from a source node to a destination node.
Full mesh—A network topology where each node is directly connected to every other remaining node in the network at full bandwidth.
Sparse mesh—A network topology where at least one node is not directly connected to every other remaining node in the network at full bandwidth.
Switching fabrics provide network connectivity between various network nodes and allow information to be communicated across the fabric between such nodes. Switching fabric architectures may be realized using various topologies, such as a mesh fabric, and may be applied in various situations within a network infrastructure. The switch fabric architectures may vary in complexity from, for example, small-scale switching fabrics implemented in a single network node, to large-scale networking fabrics comprising a large number of network nodes. For example, these switching fabrics may be implemented as an inter-chassis fabric used to interconnect a large number of chassis within a network cluster or as an intra-system backplane to connect ports or line cards within a single chassis.
A switching fabric may be used to logically connect line cards or modules within a networking box. FIG. 1 illustrates an example of such an implementation in which the cards 120, 130, 140, 150 are positioned within a chassis 110 of a networking box 100. Typically, each line card contains one or more ports on which network traffic is received and/or transmitted. As shown in FIG. 1, line card 120 has four ports 122, 124, 126, 128, another line card 130 has two ports 132, 134, and yet another line card has sixteen ports (four of which are shown 142, 144, 146, 148). As should be readily understood, some cards, such as card 150, may be utilized to perform system functions and, therefore, will not include a network port.
The networking box or system 100 of FIG. 1 includes an interconnect fabric (not shown) which provides the communication paths between the various ports of the installed line cards. Some communication paths may be provided on a single line card, between a first port and a second port of the line card for example, while other communication paths may be provided across multiple cards, from a first port on a first card to a first port on a second card, through the use of a backplane interface for example. As should be readily understood, such communication paths can be provided between numerous networking systems, such as system 100, as part of a network infrastructure. These interconnect fabrics may include, but are not limited to, simple busses, point-to-point links, circuit switches, cell or packet switches, or other similar structures. Such interconnect fabrics may support various types of traffic flows such as unicast traffic, bicast traffic, multicast traffic, and broadcast traffic.
Traditionally, networking systems are designed with a specific maximum system throughput or bandwidth goal and once constructed cannot be easily scaled to efficiently support changing network infrastructures. For example, network infrastructures consisting of a larger number of nodes than originally planned or the need for larger bandwidths throughout the network infrastructure. This scalability limitation applies universally but for certain designs, such as a single-hop architecture for example, is more severe than for others. For purposes herein, a network “node” may refer to a port, or group of ports, on a line card, a line card within a network system, or a network system within a large cluster. Further, each network node can source traffic destined to any one or more nodes throughout the network infrastructure.
FIG. 2 illustrates an exemplary mesh fabric 200 having five nodes. A source node 210 has a point-to-point connection with each of the other four nodes 220, 230, 240, 250 within the mesh via a respective connection 225, 235, 245, 255. While such mesh fabrics will typically have additional connections providing point-to-point connectivity between each node and each remaining node of the fabric 200, such additional connections are not illustrated for clarity purposes. The exemplary mesh fabric or single-hop fabric 200 of FIG. 2 requires traffic to traverse a signal link or hop from the source node 210, labeled S, to any of the remaining nodes, for example the destination node 240, indicated by the label D. Since each single link between the source node 210 and the remaining nodes 220, 230, 240, 250 defines a point-to-point link within the fabric 200, each link must be able to carry the entire bandwidth of any given node. That is, the link 245 must have the capacity to carry signals utilizing the entire bandwidth of the source node 210, the signals received by the destination node 240.
One skilled in the art will recognize the system scaling difficulties presented by the single-hop mesh fabric of exemplary mesh fabric 200. In particular, each newly added node to the fabric requires a direct connection to each of the deployed nodes within the mesh. If a switching fabric is sufficiently large, then a large number of connections are required for each newly added node. Accordingly, single-hop mesh switching fabrics are limited in their ability to scale because of the topological requirement that each node be directly connected to each of the remaining nodes in the fabric. For example, given a mesh fabric having N nodes, each of the N nodes having a bandwidth capacity of bandwidth B, each node must provide (N−1) links of capacity B in each direction. Further, given a complete system of N such nodes, it can be shown that the total fabric bandwidth, BT, equals N×(N−1)×B. As the equation implies, the cost of the system will increase in square of the number of nodes in the network infrastructure.
Single-hop mesh fabrics also fail to provide sufficient redundancy across the paths within the fabric. If a path within the mesh fabric should fail, then information cannot be transported between the two nodes that are connected by the failed path. This lack of redundancy across single-hop mesh fabrics presents issues to design engineers when designing a system employing one or more mesh fabrics.